package jdbc;

import java.sql.ResultSet;
import java.sql.SQLException;

public class AlmacenJDBC {
	public static void insertarAlmacen(Integer id_producto, Integer id_tienda,
			Double precio, Integer stock) throws SQLException {

		conexion.con();

		String query = ("Insert into almacen (id_producto, id_tienda ,precio,stock) values ('"
				+ id_producto
				+ "','"
				+ id_tienda
				+ "','"
				+ precio
				+ "','"
				+ +stock + "');");

		/*
		 * if (!ProductoJDBC.comprobarproducto("",id_producto))
		 * 
		 * if (!TiendaJDBC.comprobartienda(null,id_tienda))
		 */

		if (!AlmacenJDBC.comprobaralmacen(id_producto, id_tienda)) {
			conexion.insertar(query);

		} else {
			System.out.println("Ya existe en la base de datos");
		}
		/*
		 * else {
		 * 
		 * System.out.println("No existe la tienda en la base de datos");
		 * 
		 * }
		 * 
		 * else {
		 * 
		 * System.out.println("No existe el producto en la base de datos");
		 * 
		 * }
		 */

	}

	public static boolean comprobaralmacen(Integer pro, Integer tie)
			throws SQLException {

		boolean n = false;

		ResultSet comprobacion = conexion
				.crearconsulta("Select * from producto where id_producto='"
						+ pro + "'" + "AND id_tienda='" + tie + "';");

		if (comprobacion.next()) {
			n = true;
		}

		return n;

	}

	public static Integer comprobarstock(Integer pro, Integer tie)
			throws SQLException {

		Integer stock = 0;

		ResultSet comprobacion = conexion
				.crearconsulta("Select stock from producto where id_producto='"
						+ pro + "'" + "AND id_tienda='" + tie + "';");

		if (comprobacion.next()) {
			stock = comprobacion.getInt("stock");
		}

		return stock;

	}

	public static void modificaralmacen(Integer id_producto, Integer id_tienda,
			Integer mod_producto, Integer mod_tienda, Double precio,
			Integer stock) throws SQLException {

		if (stock == null) {
			ResultSet res = conexion
					.crearconsulta("Select stock from almacen where id_producto="
							+ id_producto + " AND id_tienda=" + id_tienda + ";");
			while (res.next()) {
				stock = res.getInt("stock");
			}
		}

		if (precio == null) {
			ResultSet res2 = conexion
					.crearconsulta("Select precio from almacen where id_producto="
							+ id_producto + " AND id_tienda=" + id_tienda + ";");
			while (res2.next()) {
				precio = res2.getDouble("precio");
			}
		}

		if (mod_producto == null) {
			mod_producto = id_producto;
		}
		if (mod_tienda == null) {
			mod_tienda = id_tienda;
		}

		String query = "update almacen set " + "id_producto='" + mod_producto
				+ "', id_tienda=" + mod_tienda + "',precio='" + precio
				+ "', stock=" + stock + ";";
		
		conexion.insertar(query);

	}

	public static Double comprobarprecio(Integer pro, Integer tie)
			throws SQLException {

		Double precio = 0.0;

		ResultSet comprobacion = conexion
				.crearconsulta("Select precio from producto where id_producto='"
						+ pro + "'" + "AND id_tienda='" + tie + "';");

		if (comprobacion.next()) {
			precio = comprobacion.getDouble("precio");
		}

		return precio;

	}

}
